namespace WebOptimizer
{
	public partial class SystemContext : ISystemContext
	{
		#region Public Members

		#region CssCompressor

		private System.Lazy<global::WebOptimizer.IO.Compression.ICssCompressor> _CssCompressor = new System.Lazy<global::WebOptimizer.IO.Compression.ICssCompressor>(GetCssCompressor);
		public global::WebOptimizer.IO.Compression.ICssCompressor CssCompressor
		{
			get
			{
				return _CssCompressor.Value;
			}
		}

		#endregion
		#region JavaScriptCompressor

		private System.Lazy<global::WebOptimizer.IO.Compression.IJavaScriptCompressor> _JavaScriptCompressor = new System.Lazy<global::WebOptimizer.IO.Compression.IJavaScriptCompressor>(GetJavaScriptCompressor);
		public global::WebOptimizer.IO.Compression.IJavaScriptCompressor JavaScriptCompressor
		{
			get
			{
				return _JavaScriptCompressor.Value;
			}
		}

		#endregion

		#endregion
		#region Helper Members

		#region GetCssCompressor

		private static global::WebOptimizer.IO.Compression.ICssCompressor GetCssCompressor()
		{
			return Sidvall.Reflection.ClassManager.CreateInstance<global::WebOptimizer.IO.Compression.ICssCompressor>(null, true);
		}

		#endregion
		#region GetJavaScriptCompressor

		private static global::WebOptimizer.IO.Compression.IJavaScriptCompressor GetJavaScriptCompressor()
		{
			return Sidvall.Reflection.ClassManager.CreateInstance<global::WebOptimizer.IO.Compression.IJavaScriptCompressor>(null, true);
		}

		#endregion

		#endregion
	}
}